﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace VoteInformationSystem.Models
{
    public interface IBundeslandRepository
    {
        /// <summary>
        /// Returns a Bundesland object that has the given id Id as its primary key, or null if nonexistant.
        /// </summary>
        /// <param name="Id">The primary key to look for</param>
        /// <returns>A Bundesland object with the given Id, or null if no such exists</returns>
        Bundesland Get(int Id);

		/// <summary>
		/// Returns all Bundesland objects that are associated to the Bundestagswahl object of the given id.
		/// </summary>
		IEnumerable<Bundesland> GetByBundestagswahl(int WahlId);

        /// <summary>
        /// Returns a list of parties running in a Land.
        /// </summary>
        /// <param name="LandId"></param>
        /// <returns></returns>
        IEnumerable<Partei> GetParteien(int LandId);
    }
}
